A network for performing packet communications is configured by communication apparatuses, terminals, and links. The communication apparatuses relay packets. The terminals transmit and receive packets at the end of the network. The links connect the terminals with the communication apparatuses.
For example, the terminals transmit a packet to a destination terminal. Then, the packet communication apparatus relays the packet to the destination terminal, so that the destination terminal receives the packet.
The packet communication apparatus extracts the destination of the received packet, and then retrieves the next transferred address associated with the extracted destination, from a path table. Thereafter, the packet communication apparatus performs a process required for a relay on the packet, and then transmits the packet to the next transferred address that has been retrieved.
A packet communication apparatus applied with conventional technique executes the process required for a relay of packets by utilizing hardware. Therefore, in the case where the process required for a relay of packets is changed, it is necessary to exchange the whole packet communication apparatus. However, the exchange of the whole packet communication apparatus causes a problem in terms of cost. Further, it is difficult to immediately handle the exchange thereof.
There is known a packet processing apparatus that solves the problem (for example, JP 2003-258842 A and JP 2004-289223 A).
The packet processing apparatus disclosed in JP 2003-258842 A comprises the kind of packet and a table of processes associated with the kind of packet on a network interface (NIF) of the packet processing apparatus. Further, if a new enhancement unit (function enhancement module) is added to the packet processing apparatus, the network interface rewrites the table. Thereby, the network interface transfers a packet received from the outside to the function enhancement module.
In addition, the packet processing apparatus disclosed in JP 2004-289223 A comprises the same table as that in the packet processing apparatus disclosed in JP 2003-258842 A, in the network interface. Further, when the network interface receives a packet from the outside, the network interface gives a plurality of headers having a fixed length to the received packet. Thereby, the network interface allows the received packet to be transferred to a plurality of function enhancement modules.
However, the network interface performs only the process of transferring packets in the conventional packet processing apparatus. Further, the function enhancement module performs a sophisticated process as compared to the network interface.
For example, there is a problem in that in the case where the network interface transfers most of packets received from the outside to the function enhancement module, the function enhancement module becomes a bottleneck, so that the throughput of the whole packet processing apparatus is decreased.
In order to solve the problem, there is known a technique that pre-installs a program for reducing the processes of the function enhancement module into all the network interfaces.
In addition, there is a case that information necessary for the function enhancement module to process a packet is given to the packet by the network interface, and then the packet is transferred to the function enhancement module. Particularly, in the case where such information differs depending on the kind of the function enhancement module, a problem arises in that a manager has to update the setting of the network interface and software every time the function enhancement module is added.